package com.hairy.nipples.util;

import android.hardware.SensorManager;

public class AccelerationUtil {
	public static double calculateAcceleration(float[] values) {
		double acceleration = Math.sqrt(Math.pow(values[0], 2)
				+ Math.pow(values[1], 2) + Math.pow(values[2], 2));
		return acceleration;
	}
	
	public static boolean isStandingStill(float[] accelerationValues) {
		double acceleration = calculateAcceleration(accelerationValues);

		// If acceleration doesn't differ from earth's gravity more than 10%, then
		// it's safe to assume that phone is standing still
		if (acceleration > SensorManager.GRAVITY_EARTH * 0.9
				&& acceleration < SensorManager.GRAVITY_EARTH * 1.1) {
			return true;
		}
		return false;
	}
}
